Clean up device detection port leftovers, fix CI Lite data file, auto-detect native toolset#126
Merged
Merged
Conversation
Cleans up naming and comments copied unchanged from the device-detection-java codebase. Internal identifiers are renamed to IP Intelligence terms (deviceMap to propertyMap and DEVICE_LIST_KEY to PROFILE_LIST_KEY in the cloud engine and MultiIPIDataCloud, the UserAgentGenerator test helper to IpAddressGenerator) and javadoc, log messages and README wording now describe IP Intelligence rather than device detection. Deletes dead test code from the port. Builder.java duplicated the existing BuilderTests.java, MetaDataTests.java in the shared module was an unreferenced helper without tests, and ClientHintsExampleTestBase only applied to User-Agent Client Hints. Public API names with device detection heritage, such as HardwareProfileCloudEngine and the TAC evidence constant, are part of the IP Intelligence cloud specification and are unchanged.
ci/fetch-assets.ps1 symlinked the fetched Lite asset under its blob name 51Degrees-LiteIpiV41.ipi, but the FileUtils test helper searches for the unpacked name 51Degrees-LiteV41.ipi, the same name the data repo scripts produce, so tests could never find the fetched file. The -Assets entry keeps the blob name because the shared common-ci steps/fetch-assets.ps1 resolves assets through a fixed switch over known names and errors on anything else. That switch is also where the stale Lite blob URL lives, common-ci needs the equivalent of ip-intelligence-data PR #31 to fetch the current 4.5 build published as 51Degrees-IPIV4LiteIpiV41.ipi.gz.
The on-premise native build forced platform toolset v142 and Windows SDK 10.0.18362.0 by default, so anyone on a newer Visual Studio had to pass -DplatformToolsetVersion and -DwindowsSDKVersion overrides and CI was pinned to an old toolset. The pom default for both is now "auto", and PreBuild.bat omits the corresponding CMake flag for an "auto" or empty value. CMake then picks the toolset and SDK from the installed Visual Studio, the latest each version supports, so the build uses v143 on a VS 2022 runner and v145 on a VS 2026 machine with no override. Explicit overrides still apply when the properties are set. PreBuild.sh already let CMake choose, so it is unchanged.
Contributor
Author
|
Setting this to draft so it is not picked up by the overnight auto-merge over the weekend. This is a precaution after an unintended overnight merge last night; nothing here is believed to be broken. It will be marked ready for review when the team is back. |
2 tasks
Contributor
Merge:
|
Jamesr51d
approved these changes
Jun 15, 2026
justadreamer
approved these changes
Jun 16, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Three concern-separated commits, reviewable one at a time.
28bb5baRemove device detection leftovers from the portCleans up naming and comments copied unchanged from the device-detection-java codebase. Internal identifiers are renamed to IP Intelligence terms (for example
deviceMaptopropertyMap,DEVICE_LIST_KEYtoPROFILE_LIST_KEY, theUserAgentGeneratortest helper toIpAddressGenerator), and javadoc, log messages and README wording now describe IP Intelligence. Dead test code from the port is removed. Public API names with device detection heritage that are part of the IP Intelligence cloud specification are left unchanged.c98e1c3Link the CI Lite data file under the name tests look forci/fetch-assets.ps1symlinked the fetched Lite asset under its blob name51Degrees-LiteIpiV41.ipi, but theFileUtilstest helper searches for the unpacked name51Degrees-LiteV41.ipi, so tests could never find it. The symlink now uses the name the helper expects.The
-Assetsentry keeps the blob name because the shared common-cisteps/fetch-assets.ps1resolves assets through a fixed switch. The stale-blob URL behind that switch is fixed separately in common-ci#209. Until that merges, CI fetches a non-loadable Lite file, which is harmless here because the Enterprise file is found first.e8e4884Auto-detect the Windows toolset and SDK for the native buildThe native build forced platform toolset
v142and Windows SDK10.0.18362.0, so newer Visual Studio users had to pass-DplatformToolsetVersionand-DwindowsSDKVersionoverrides. The pom default for both is nowauto, andPreBuild.batomits the corresponding CMake flag for anautoor empty value, so CMake selects the installed Visual Studio's latest toolset and SDK. This builds withv143on the VS 2022 runner andv145on a VS 2026 machine with no override. Explicit overrides still apply when set, andPreBuild.shalready let CMake choose.Verification
The on-premise test suite was run locally with the native build compiled by the auto-detected toolset (CMake selected VS 2026) against the current 4.5 Lite data file: 22 run, 0 failures, 0 errors, 2 skipped. This PRs own CI will confirm the build on the VS 2022 runner with toolset
v143.